<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <button>获取数据</button>
    <script>
        // 1. 定义ajax函数 
        function ajax({
            url,
            type
        }) {
            return new Promise((res, rej) => {
                // 1.1 返回new Promise()对象
                let x = new XMLHttpRequest()
                    // 1.2 创建xhr对象
                x.open(type, url)
                    // 1.3 open
                x.send();
                // 1.4 send
                x.onreadystatechange = function() {
                        if (x.readyState === 4) {
                            if (x.status >= 200 && x.status < 300) {
                                res(x.response)
                            } else {
                                rej('获取失败')
                            }
                        }
                    }
                    // 1.5 事件监听
            })
        }

        document.querySelector('button').onclick = function() {
            ajax({
                type: "get",
                url: "https://v1.hitokoto.cn123/?c=a",
            }).then(val => {
                console.log(val);
            }, rea => {
                console.log(rea);
            })
        }

        // 2. 获取按钮
        // 3. 添加点击事件
        // 3.1 调用ajax方法
        // 3.2 调用then方法
    </script>
</body>

</html>